Embodiments of the inventive subject matter generally relate to the field of computing, and more particularly, to particle swarm optimization.
Particle swarm optimization is a metaheuristic optimization that attempts to find the most optimal solution to a problem. Particle swarm optimization algorithms search a solution space with “particles.” During each iteration of a particle swarm optimization algorithm, the particles move to new locations in the solution space. Each location corresponds to a candidate solution to the problem. Once the location of each particle has been determined at a current iteration, the fitness of each location is calculated using a fitness function. After the fitness of each location is calculated at the current iteration, a next iteration of the particle swarm optimization algorithm begins and the particles move to new locations in the solution space. The process continues until a termination criterion is satisfied.
Typically, a particle's location during the next iteration is dictated by the most fit location that the particle has occupied (the particle's “personal best”), the most fit location that any of the particles in the swarm has occupied (the “global best”), and the particle's momentum. Because each particle moves about the solution space based on its personal best and the global best, each particle tends to move toward the most fit location. Additionally, because each particle moves about the solution space based on its personal best and the global best, the movement of each particle about the solution space is dependent on the fitness calculations performed during all previous iterations. Consequently, locations of particles at the next iteration cannot be determined until the fitness of each particle at the current iteration has been calculated.